#include <stdio.h>
#include <string.h>
/*
编写学生管理系统

结构体

*/

typedef struct 
{
    char name[128]; // 姓名
    char sex[5];    // 性别
    short id;       // 学号
    int age;        // 年龄
    int sco;        // 成绩
}stu;


int main(int argc, char const *argv[])
{
    // 结构体如何创建   下面这种集中赋值的方式只能 在创建结构体的使用使用
    stu s1 = {.name = "张三" , .sex = "男" , .id = 1 , .age = 18 , .sco = 59};
    stu s2 = {"张四" , "男" , 2 , 18 , 59};
    stu s3;
    // s3 = {"张三" , "男" , 1 , 18 , 59}; 错误的❌

    // 如何修改数据
    // 整数直接赋值
    s3.id = 3;
    s3.age = 18;
    s3.sco = 59;

    // 字符串 
    // s3.name = "张五"; 错误的❌
    strcpy(s3.name , "张五");
    strcpy(s3.sex , "男");


    printf("name = %s sex = %s id = %d sco = %d age = %d \n" , \
        s1.name , s1.sex , s1.id , s1.age , s1.sco \
    );


    // 结构体数组
    stu arr_stu[5] = 
    {
        {"石昊" , "男" , 1 , 18 , 60},
        {"萧炎" , "男" , 2 , 18 , 61},
        {"牧尘" , "男" , 3 , 18 , 62},
        {"林动" , "男" , 4 , 18 , 63},
        {"韩立" , "男" , 5 , 18 , 64},
    };

    // 如何遍历    arr_stu[i].元素名
    for (size_t i = 0; i < sizeof(arr_stu)/sizeof(stu); i++)
    {
        printf("name = %s sex = %s id = %d sco = %d age = %d \n" , \
            arr_stu[i].name , arr_stu[i].sex , arr_stu[i].id , arr_stu[i].age , arr_stu[i].sco \
        );
    }
    


    return 0;
}



// 增

// 删

// 改

// 查

// 排序

// 打印数据
